home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / turbovis / tvutil01.zip / ALEXLEVI.EXE / ALEXLEVI / DEMO / DEMO_VGA.PAS < prev    next >
Pascal/Delphi Source File  |  1994-04-12  |  20KB  |  322 lines

  1.  
  2. (*
  3.  
  4. ************************************************************************
  5. *                                                                      *
  6. *    This procedure was made by Alex Levitas' "VGA Font Editor".       *
  7. *                                                                      *
  8. ************************************************************************
  9.  
  10.  This procedure changes EGA/VGA screen font in text mode.
  11.  
  12.                            W A R N I N G ! ! !
  13.  This procedure DOES NOT check EGA/VGA existence, but ONLY download font.
  14.  
  15.  Before using this procedure, it is RECOMMENDED to reset current screen
  16.  mode, otherwise you will have PROBLEMS with the color palette.
  17.  
  18.  PROCEDURE WILL WORK ONLY WITH PASCAL 6.0 OR HIGHER !
  19.  
  20.  To use this procedure in your program, insert the directive
  21.  
  22.     {$I DEMO_VGA.PAS}
  23.  
  24.  If you want to use more than one changed font in your program, you
  25.  must change procedure name in each source file.
  26.  
  27. *)
  28.  
  29. Procedure ChangeVGAFont;
  30.  
  31. const
  32.  
  33.   Font: Array [0..255, 0..15] of Byte =
  34.    (
  35.     (  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0),
  36.     (  0,  0,  0,126,129,165,129,129,189,153,129,126,  0,  0,  0,  0),
  37.     (  0,  0,  0,126,255,219,255,255,195,231,255,126,  0,  0,  0,  0),
  38.     (  0,  0,  0,  0, 54,127,127,127,127, 62, 28,  8,  0,  0,  0,  0),
  39.     (  0,  0,  0,  0,  8, 28, 62,127, 62, 28,  8,  0,  0,  0,  0,  0),
  40.     (  0,  0,  0, 24, 60, 60,231,231,231, 24, 24, 60,  0,  0,  0,  0),
  41.     (  0,  0,  0, 24, 60,126,255,255,126, 24, 24, 60,  0,  0,  0,  0),
  42.     (  0,  0,  0,  0,  0,  0, 24, 60, 60, 24,  0,  0,  0,  0,  0,  0),
  43.     (255,255,255,255,255,255,231,195,195,231,255,255,255,255,255,255),
  44.     (  0,  0,  0,  0,  0, 60,102, 66, 66,102, 60,  0,  0,  0,  0,  0),
  45.     (255,255,255,255,255,195,153,189,189,153,195,255,255,255,255,255),
  46.     (  0,  0,  0, 15,  7, 13, 25, 60,102,102,102, 60,  0,  0,  0,  0),
  47.     (  0,  0,  0, 60,102,102,102, 60, 24,126, 24, 24,  0,  0,  0,  0),
  48.     (  0,  0,  0, 63, 51, 63, 48, 48, 48,112,240,224,  0,  0,  0,  0),
  49.     (  0,  0,  0,127, 99,127, 99, 99, 99,103,231,230,192,  0,  0,  0),
  50.     (  0,  0,  0, 24, 24,219, 60,231, 60,219, 24, 24,  0,  0,  0,  0),
  51.     (  0,  0,  0, 64, 96,112,124,127,124,112, 96, 64,  0,  0,  0,  0),
  52.     (  0,  0,  0,  1,  3,  7, 31,127, 31,  7,  3,  1,  0,  0,  0,  0),
  53.     (  0,  0,  0, 24, 60,126, 24, 24, 24,126, 60, 24,  0,  0,  0,  0),
  54.     (  0,  0,  0, 51, 51, 51, 51, 51, 51,  0, 51, 51,  0,  0,  0,  0),
  55.     (  0,  0,  0,127,219,219,219,123, 27, 27, 27, 27,  0,  0,  0,  0),
  56.     (  0,  0, 62, 99, 48, 28, 54, 99, 99, 54, 28,  6, 99, 62,  0,  0),
  57.     (  0,  0,  0,  0,  0,  0,  0,  0,  0,127,127,127,  0,  0,  0,  0),
  58.     (  0,  0,  0, 24, 60,126, 24, 24, 24,126, 60, 24,126,  0,  0,  0),
  59.     (  0,  0,  0, 24, 60,126, 24, 24, 24, 24, 24, 24,  0,  0,  0,  0),
  60.     (  0,  0,  0, 24, 24, 24, 24, 24, 24,126, 60, 24,  0,  0,  0,  0),
  61.     (  0,  0,  0,  0,  0, 12,  6,127,  6, 12,  0,  0,  0,  0,  0,  0),
  62.     (  0,  0,  0,  0,  0, 24, 48,127, 48, 24,  0,  0,  0,  0,  0,  0),
  63.     (  0,  0,  0,  0,  0,  0, 96, 96, 96,127,  0,  0,  0,  0,  0,  0),
  64.     (  0,  0,  0,  0,  0, 36,102,255,102, 36,  0,  0,  0,  0,  0,  0),
  65.     (  0,  0,  0,  0,  8, 28, 28, 62, 62,127,127,  0,  0,  0,  0,  0),
  66.     (  0,  0,  0,  0,127,127, 62, 62, 28, 28,  8,  0,  0,  0,  0,  0),
  67.     (  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0),
  68.     (  0,  0,  0, 24, 60, 60, 60, 24, 24,  0, 24, 24,  0,  0,  0,  0),
  69.     (  0,  0, 99, 99, 99, 34,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0),
  70.     (  0,  0,  0, 54, 54,127, 54, 54, 54,127, 54, 54,  0,  0,  0,  0),
  71.     (  0, 12, 12, 62, 99, 97, 96, 62,  3, 67, 99, 62, 12, 12,  0,  0),
  72.     (  0,  0,  0,  0,  0, 97, 99,  6, 12, 24, 51, 99,  0,  0,  0,  0),
  73.     (  0,  0,  0, 28, 54, 54, 28, 59,110,102,102, 59,  0,  0,  0,  0),
  74.     (  0,  0, 48, 48, 48, 96,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0),
  75.     (  0,  0,  0, 12, 24, 48, 48, 48, 48, 48, 24, 12,  0,  0,  0,  0),
  76.     (  0,  0,  0, 24, 12,  6,  6,  6,  6,  6, 12, 24,  0,  0,  0,  0),
  77.     (  0,  0,  0,  0,  0,102, 60,255, 60,102,  0,  0,  0,  0,  0,  0),
  78.     (  0,  0,  0,  0, 24, 24, 24,255, 24, 24, 24,  0,  0,  0,  0,  0),
  79.     (  0,  0,  0,  0,  0,  0,  0,  0,  0, 24, 24, 24, 48,  0,  0,  0),
  80.     (  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0),
  81.     (  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 24, 24,  0,  0,  0,  0),
  82.     (  0,  0,  0,  1,  3,  6, 12, 24, 48, 96, 64,  0,  0,  0,  0,  0),
  83.     (  0,  0,  0,126,199,195,195,195,195,195,227,126,  0,  0,  0,  0),
  84.     (  0,  0,  0, 28, 12, 12, 12, 12, 12, 12, 12, 12,  8,  0,  0,  0),
  85.     (  0,  0,  0,126,199,195,102, 44, 24, 48, 97,255,  0,  0,  0,  0),
  86.     (  0,  0,  0, 62, 67,  3,  6, 60,  6,  3,  3,  3, 70, 60,  0,  0),
  87.     (  0,  0,  0,  6, 14, 30, 54,102,255,  6,  6,  6,  4,  0,  0,  0),
  88.     (  0,  0,  1,126, 96, 96,120, 76,  6,  3,  3,  3, 70, 60,  0,  0),
  89.     (  0,  0,  0, 62, 96,192,222,227,195,195,102, 60,  0,  0,  0,  0),
  90.     (  0,  0,  0,127, 99,  3,  6, 12, 24, 48, 48, 48, 32,  0,  0,  0),
  91.     (  0,  0,  0,126,199,195,227,126,199,195,227,126,  0,  0,  0,  0),
  92.     (  0,  0,  0, 62,103,195,195,199,123,  3,  6,124,  0,  0,  0,  0),
  93.     (  0,  0,  0,  0, 24, 24,  0,  0,  0, 24, 24,  0,  0,  0,  0,  0),
  94.     (  0,  0,  0,  0, 24, 24,  0,  0,  0, 24, 24, 48,  0,  0,  0,  0),
  95.     (  0,  0,  0,  6, 12, 24, 48, 96, 48, 24, 12,  6,  0,  0,  0,  0),
  96.     (  0,  0,  0,  0,  0,  0,126,  0,  0,126,  0,  0,  0,  0,  0,  0),
  97.     (  0,  0,  0, 96, 48, 24, 12,  6, 12, 24, 48, 96,  0,  0,  0,  0),
  98.     (  0,  0,  0, 62, 99, 99,  6, 12, 12,  0, 12, 12,  0,  0,  0,  0),
  99.     (  0,  0,  0, 62, 99, 99,111,111,111,110, 96, 62,  0,  0,  0,  0),
  100.     (  0,  0,  0,127, 15, 27, 51, 99,255,195,195,195,  0,  0,  0,  0),
  101.     (  0,  0,  0,222,227,195, 71,126, 99, 67, 71,254,  0,  0,  0,  0),
  102.     (  0,  0,  0,127,195,193,192,192,192,192,225,126,  0,  0,  0,  0),
  103.     (  0,  0,128,254,  3,127,199,195,195,194,100, 56,  0,  0,  0,  0),
  104.     (  0,  0,  0,127,195,193,192,252,192,192, 97, 62,  0,  0,  0,  0),
  105.     (  0,  0,  0,255, 99, 97, 96,124, 96, 96, 96, 96, 96, 96, 64,  0),
  106.     (  0,  0,  0,127,195,193,192,192,207,195, 99, 63,  3,  3,  2,  0),
  107.     (  0,  0,  0,224,192,222,227,195,195,195,198,207,  0,  0,  0,  0),
  108.     (  0,  0,  0, 60, 24, 24, 24, 24, 24, 24, 24, 60,  0,  0,  0,  0),
  109.     (  0,  0,  0, 60, 24, 24, 24, 24, 24, 24, 24, 24, 24, 48, 32,  0),
  110.     (  0,  0,  0,224,103, 99,102,108,124,110,103,227,  0,  0,  0,  0),
  111.     (  0,  0,  0,112, 48, 48, 48, 48, 48, 49, 51,127,  0,  0,  0,  0),
  112.     (  0,  0,  0,227,119,127,107, 99, 99, 99, 99,227,  0,  0,  0,  0),
  113.     (  0,  0,  0,231,113,121,125,111,103, 99, 97,225,  0,  0,  0,  0),
  114.     (  0,  0,  0,126,199,195,195,195,195,194,100, 56,  0,  0,  0,  0),
  115.     (  0,  0,  0,222,231,195,195,195,195,227,243,222,192,128,  0,  0),
  116.     (  0,  0,  0,123,231,195,195,195,195,195,207,123,  3,  2,  0,  0),
  117.     (  0,  0,  0,238,115, 99,103,124,102, 99, 99, 99,  1,  0,  0,  0),
  118.     (  0,  0,  0,125,231,227,112, 62,  7,195,226,188,  0,  0,  0,  0),
  119.     (  0,  0,  0,255,152, 48, 96,192,192,192, 99, 62,  0,  0,  0,  0),
  120.     (  0,  0,  0,227, 99, 99, 99, 99, 99, 99,103, 59,  0,  0,  0,  0),
  121.     (  0,  0,  0,195,195,195,195,195, 99, 54, 28,  8,  0,  0,  0,  0),
  122.     (  0,  0,  0,231, 99, 99, 99, 99,107,127,119,226,  0,  0,  0,  0),
  123.     (  0,  0,  0,195,193, 98, 60, 24, 60, 70,131,195,  0,  0,  0,  0),
  124.     (  0,  0,  0,207,199,195,195, 99, 63,134,198,124,  0,  0,  0,  0),
  125.     (  0,  0,  0,255,131,  3, 14, 60,112,192,193,255,  0,  0,  0,  0),
  126.     (  0,  0,  0, 60, 48, 48, 48, 48, 48, 48, 48, 60,  0,  0,  0,  0),
  127.     (  0,  0,  0, 64, 96,112, 56, 28, 14,  7,  3,  1,  0,  0,  0,  0),
  128.     (  0,  0,  0, 60, 12, 12, 12, 12, 12, 12, 12, 60,  0,  0,  0,  0),
  129.     (  0,  8, 28, 54, 99,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0),
  130.     (  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0),
  131.     (  0, 24, 24, 12,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0),
  132.     (  0,  0,  0,  0,  0,  0,123,199,195,195,231,123,  0,  0,  0,  0),
  133.     (  0,  0,  0,  0,222,227, 67,126, 99, 67, 71,254,  0,  0,  0,  0),
  134.